package guilag;
import kontrollag.*;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import javax.swing.JComboBox;
import javax.swing.JButton;
import javax.swing.JOptionPane;

/**
 * Haandtere OpretProduktKategoriFrame
 * @author Gruppe 1
 * @version 1.0.0 20-01-2014
 */
public class OpretProduktKategoriFrame extends JFrame {
	private JTextField txtNavn;
	private JButton btnOpretKategori, btnRyd;
	private JPanel contentPane;
	private ProduktKategoriCtr produktKategoriCtr;
	private ProduktCtr produktCtr;
	
	public OpretProduktKategoriFrame() {
		produktKategoriCtr = ProduktKategoriCtr.getInstance();
		produktCtr = ProduktCtr.getInstance();
		initialiserFrame();
		initialiserPanel();
	}
	
	private void initialiserFrame() {
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

		setTitle("Opret Kategori || Vestbjerg byggecenter ");
		setBounds((int) d.getWidth() / 4, (int) d.getHeight() / 5, 400, 125);
		setResizable(false);
		setVisible(true);	
	}
	
	private void initialiserPanel() {
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblNavn = new JLabel("Kategori navn:");
		lblNavn.setBounds(10, 21, 125, 14);
		contentPane.add(lblNavn);
		
		txtNavn = new JTextField();
		txtNavn.setBounds(164, 18, 220, 20);
		contentPane.add(txtNavn);
		txtNavn.setColumns(10);
		
		btnOpretKategori = new JButton("Opret kategori");
		btnOpretKategori.setBounds(264, 49, 120, 23);
		btnOpretKategori.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				opretKategori();
				ProduktPanel produktPanel = ProduktPanel.getInstance();
                produktPanel.opdaterTabel(produktCtr.listeTilArray());
                dispose();
			}
        });
		contentPane.add(btnOpretKategori);
		
		btnRyd = new JButton("Ryd");
		btnRyd.setBounds(10, 49, 109, 23);
		btnRyd.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				rydFelter();
			}
        });
		contentPane.add(btnRyd);
	}
	
	private void opretKategori() {
		String navn = txtNavn.getText();
		if( navn.isEmpty() != true) {
			produktKategoriCtr.opretProduktKategori(txtNavn.getText());
			ProduktPanel produktPanel = ProduktPanel.getInstance();
            produktPanel.opdaterTabel(produktCtr.listeTilArray());
            produktPanel.opdaterComboBox();
            dispose();
		} else {
			JOptionPane.showMessageDialog(getContentPane(), "Alle felter skal udfyldes", "Error Message", JOptionPane.ERROR_MESSAGE);
		}
	}
	private void rydFelter() {
		txtNavn.setText("");
	}
}
